██████╗ ███████╗████████╗██╗██████╗ ███████╗██████╗ ██╗ █████╗
██╔══██╗██╔════╝╚══██╔══╝██║██╔══██╗██╔════╝██╔══██╗██║██╔══██╗
██████╔╝█████╗ ██║ ██║██████╔╝█████╗ ██║ ██║██║███████║
██╔══██╗██╔══╝ ██║ ██║██╔═══╝ ██╔══╝ ██║ ██║██║██╔══██║
██║ ██║███████╗ ██║ ██║██║ ███████╗██████╔╝██║██║ ██║
╚═╝ ╚═╝╚══════╝ ╚═╝ ╚═╝╚═╝ ╚══════╝╚═════╝ ╚═╝╚═╝ ╚═╝
- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b
¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
SSE3
──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
top
mwbqSSE3 (conosciuto anche con il nome di mwbgPrescott New Instructions o mwbwPNI) è un mwcainstruction set mwcqSIMD dell'architettura mwcgIA-32, sviluppato da mwcwIntel, che estende la precedente versione (SSE2).
Il set SSE3 originale aggiunge 13 nuove istruzioni rispetto al predecessore mwgwSSE2; la più rivoluzionaria di queste istruzioni consente di lavorare orizzontalmente in un registro in contrapposizione con quanto avveniva precedentemente in cui era possibile solo verticalmente. Più precisamente, sono state aggiunte le istruzioni per sommare e sottrarre i molteplici valori memorizzati in un singolo registro. Tali istruzioni semplificano l'implementazione di un gran numero di operazioni mwhaDSP e mwhq3D. È inoltre presente una nuova istruzione per convertire i mwhgnumeri a virgola mobile in interi senza interferire con il normale flusso dell'elaborazione della mwhwCPU, quindi senza creare stalli nella mwiapipeline.
Nel mwig2006, con il lancio dell'architettura mwiwIntel Core Microarchitecture è stata lanciata sul mercato un'evoluzione del set SSE3, chiamato mwjaSSSE3 che aggiunge altre 32 istruzioni e ottimizza una serie di aspetti del set originale.
Contents
──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
Nuove istruzioni
Aritmetiche
• ADDSUBPD - (mwkgAdd-Subtract-Packed-Double)
• Input - { A0, A1 }, { B0, B1 }
• Output - { A0 - B0, A1 + B1 }
• ADDSUBPS - (mwlwAdd-Subtract-Packed-Single)
• Input: { A0, A1, A2, A3 }, { B0, B1, B2, B3 }
• Output: { A0 - B0, A1 + B1, A2 - B2, A3 + B3 }
AOS ( Array di Strutture )v
• HADDPD - (mwngHorizontal-Add-Packed-Double)
• Input: { A0, A1 }, { B0, B1 }
• Output: { A0 + A1, B0 + B1 }
• HADDPS (mwowHorizontal-Add-Packed-Single)
• Input: { A0, A1, A2, A3 }, { B0, B1, B2, B3 }
• Output: { A0 + A1, A2 + A3, B0 + B1, B2 + B3 }
• HSUBPD - (mwqaHorizontal-Subtract-Packed-Double)
• Input: { A0, A1 }, { B0, B1 }
• Output: { A0 - A1, B0 - B1 }
• HSUBPS - (mwrqHorizontal-Subtract-Packed-Single)
• Input: { A0, A1, A2, A3 }, { B0, B1, B2, B3 }
• Output: { A0 - A1, A2 - A3, B0 - B1, B2 - B3 }
• LDDQU - un modo alternativo di caricare un vettore che non è allineato correttamente in memoria. Può servire per operazioni di compressione video.
• MOVDDUP, MOVSHDUP, MOVSLDUP - queste operazioni si prestano molto bene per calcoli su numeri complessi e vengono usate molto in calcoli su sinusoidi e suoni.
• FISTTP - analoga alla vecchia istruzione FISTP x87, ma ignora il metodo di arrotondamento impostato nel registro di controllo SSE e usa invece il troncamento; permette di evitare il salvataggio e caricamento del registro di controllo in linguaggi come il C, dove le conversioni da float a int prevedono il troncamento come comportamento standard.
Istruzioni specifiche Intel
• MONITOR, MWAIT - Pensate per ottimizzare applicazioni multi-threaded, migliorano le prestazioni dei processori con mwtwHyper-Threading.
Voci correlate